'use strict';
/**
 * @name 莫凡后端缓存通用接口
 * @version 1.0.0 线上，线下都使用 rides 进行存储
 * @content 如果出现了 Cannot read property 'set' of undefined 这样的错误，请查看是否开启了 egg-redis 配置，在/config/plugin.js
 * @author xiech
 * @Time 2019年03月07日13:37:51
 */
module.exports = {
  /**
   * set 缓存
   *
   * @param {key} 缓存key
   * @param {value} 缓存内容
   * @param {time} 缓存存储时间，单位为毫秒： PX 。不传此参数，则默认永久
   * @return {result} 返回结果
   */
  async set(key, value, time) {
    const {
      ctx,
    } = this;
    let result;
    if (time) {
      result = await ctx.app.redis.set(key, value, 'PX', time);
    } else {
      result = await ctx.app.redis.set(key, value);
    }
    ctx.logger.info(` [util-egg-redis] set key: ${key} ,value: ${value} ,time: ${time} `);
    return result;
  },

  /**
   * get 缓存
   *
   * @param {key} 缓存key
   * @return {result} 缓存内容
   */
  async get(key) {
    const {
      ctx,
    } = this;

    const result = await ctx.app.redis.get(key);
    ctx.logger.info(` [util-egg-redis] get key: ${key} ,result: ${result} `);
    return result;
  },
};